// 假设已经加载好了openCv库，并且导入了必要的类
importClass(org.opencv.imgproc.Imgproc);
importClass(org.opencv.core.Core);
importClass(org.opencv.core.Mat);
importClass(org.opencv.imgcodecs.Imgcodecs)

// 请求屏幕截图权限
if (!requestScreenCapture()) {
    toast("请求屏幕截图权限失败");
    exit();
}

function FindIconInScreen(iconPath) {
    // 读取图标和屏幕截图作为Mat对象
    var icon = images.read(iconPath)

    // 读取模板图标图片，这里假设模板图片名为 target_icon.png，且与脚本在同一目录
    let screenImage = captureScreen();
    if (!screenImage) {
        toast("屏幕截图失败");
        template.recycle();
        exit();
    }

    // console.log( files.read("/sdcard/.1_video/close.png") + iconPath)

    // 使用 images.findImage 函数在屏幕截图中查找模板图标
    let findResult = images.findImage(screenImage, icon, {
        threshold: 0.70, // 匹配相似度阈值，范围 0 - 1，值越大越严格
        region: [0, 0, screenImage.width, screenImage.height], // 查找区域，这里设置为全屏幕
        step: 2 // 查找步长，默认为 1
    });

    console.log(findResult)

    if (findResult) {
        toast("成功找到图标:" + iconPath + " x:" + findResult.x + ", y:" + findResult.y);
        // 可以在这里执行对找到图标的操作，比如点击
        click(findResult.x, findResult.y)
    } else {
        toast("未找到指定图标:" + iconPath);
    }
}


FindIconInScreen("/sdcard/.1_video/close.png");
// findIconInScreen("/sdcard/.1_video/close.png", "/sdcard/Pictures/Screenshots/Screenshot_2025-01-24-17-50-24-89_d2d2e5afa7e0f03725be661ee68060ea.jpg");
